package com.xlh.support.quiz.service;

import com.xlh.dto.quiz.EssayQuestionStaticsDTO;
import com.xlh.dto.quiz.TrueOrFalseQuestionStaticsDTO;
import com.xlh.dto.quiz.UserQuizStatusDTO;
import com.xlh.support.quiz.po.QuizStatisticsQueryPO;
import com.xlh.support.quiz.vo.QuizStatisticVO;

import java.util.List;

/**
 * @author cheer
 */
public interface QuizStatisticService {

    /**
     * 查询提问统计
     *
     * @param courseId              课程Id
     * @param quizStatisticsQueryPO 查询参数
     * @return 分页统计
     */
    List<QuizStatisticVO> listQuizStatistic(Long courseId, QuizStatisticsQueryPO quizStatisticsQueryPO);

    /**
     * 下载提问统计
     *
     * @param courseId              课程Id
     * @param quizStatisticsQueryPO 查询参数
     */
    void downloadQuizStatistic(Long courseId, QuizStatisticsQueryPO quizStatisticsQueryPO);

    /**
     * 问答题问题统计
     * @param chapterId
     * @return
     */
    EssayQuestionStaticsDTO essayQuestionStatistic(Long chapterId, Long defaultClassId);

    /**
     * 判断题问题统计
     *
     * @param defaultClassId 默认班级ID
     * @param chapterId
     * @return
     */
    TrueOrFalseQuestionStaticsDTO trueOrFalseQuestionsStatistic(Long defaultClassId, Long chapterId);


    /**
     * 根据UserID和chapterID 查询每个学生的随堂练习情况
     * @param chapterIds
     * @param userIds
     * @return
     */
    List<UserQuizStatusDTO> findQuizStatisticByUserIds(List<Long> chapterIds, List<Long> userIds);


}
